var $trainingTable = $('#trainingTable'); //内训线索池
var searchType = "basicSearch";//搜索类型
$(window).resize(function () {
    $trainingTable.bootstrapTable('resetView');
});//防止表头与表格不对齐

let trainingId;

/**
 * 页面初始化
 */
$(function () {
    $('.filter-content select').selectpicker({
        noneSelectedText: '请选择',
        sanitize: true,
        size: 10
    });
    //内训线索池列表
    trainingTableInit();

    //加载全部公司信息
    loadAllCompanyList();
    loadAllAccounts();
    //高级筛选--内训所有人下拉
    // loadAppointPersonSelectByCompanyId("9fb1c999393311eb9e0a00163e08893d", "trainingChargeNameSelect");
    loadAppointPersonSelectByCompanyId("a5d32daa4c4441a395b521685d7ee4fa", "trainingChargeNameSelect");
});

/**
 * 内训线索池列表
 **/
function trainingTableInit() {
    //先销毁表格
    $trainingTable.bootstrapTable('destroy');
    $trainingTable.bootstrapTable({
        classes: 'table table-hover table-bordered table-striped',
        url: '/training/selectTrainingFormVOList',
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'trainingId',
        idField: 'trainingId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: ["5","10"],//可供选择的每页的行数
        queryParams: queryParams,
        columns: [
            {title: '内训id', field: 'trainingId', visible: false},
            {title: '序号', field: 'index', align: 'center', valign: 'left', width: '50', formatter: indexFormat},
            {title: '客户名称', field: 'customerName', align: 'left', valign: 'middle'},
            {title: '所属分公司', field: 'companyName', align: 'left', valign: 'middle'},
            {title: '当前状态', field: 'trainingStateText', align: 'left', valign: 'middle'},
            {title: '客户所有人', field: 'customerOwnerName', align: 'left', valign: 'middle'},
            {title: '内训负责人', field: 'trainingChargeName', align: 'left', valign: 'middle'},
            {title: '操作', field: '', align: 'right', valign: 'middle',events: operateEventsInternal,formatter: genderOptInternal},
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * 内训线索池列表--查询参数
 * @param params
 * @param searchType
 * @returns {*}
 */
function queryParams(params){
    params.pageSize = params.limit;
    params.pageIndex =  (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式

    if("basicSearch" == searchType){
        //按客户名称、全部、上月、本月、本周查
        params.customerName = $.trim($('#customerName').val());//客户名称
        params.dateType = $('#dateType').val();//全部、上月、本月、本周
    }else if("seniorSearch" == searchType) {
        $('#customerName').val("");
        //高级筛选条件
        params.companyId = $('#companySelect option:selected').val();//所属分公司
        params.accountId = $('#userSelect option:selected').val();//所有人
        params.trainingChargeId =  $('#trainingChargeNameSelect option:selected').val();//内训负责人
        params.createTmStart = $('#createTmStart').val();//开始时间
        params.createTmEnd = $('#createTmEnd').val();//截止时间
    }
    return params;
}

/**
 * 列表序列号
 */
function indexFormat(value, row, index) {
    return index + 1;
}

/**
 * 自定义操作列内容
 */
function genderOptInternal(value, row, index) {
    let html = '';
    html += '<button class="btn btn-default" id="detail">详情</button>';
    html += '<button class="btn btn-default" id="editDistribution">分配</button>';
    // html += '<button class="btn btn-default" id="transferContent">移交</button>';
    return html;
}

/**
 * 自定义操作列事件
 */
window.operateEventsInternal = {
    //详情点击事件
    'click #detail': function (e, value, row, index) {
        parent.$(parent.document).data('multitabs').create({
            iframe : true,
            title : '内训详情',
            url: "/front/trainingManager/internalTrainingDetail?trainingId=" + row.trainingId
        }, true);
    },
    //分配点击事件
    'click #editDistribution': function (e, value, row, index) {
        // loadAppointPersonSelectByCompanyId("9fb1c999393311eb9e0a00163e08893d",'salesman');
        loadAppointPersonSelectByCompanyId("a5d32daa4c4441a395b521685d7ee4fa",'salesman');
        trainingId = row.trainingId;
        $("#distributionModal").modal('show');
    },
};

/**
 * 全部/上月/本月/本周切换
 */
function selectTime(th,type) {
    searchType = "basicSearch";
    $(th).addClass('active-second');
    $(th).siblings().removeClass('active-second');
    $("#dateType").val(type);
    $trainingTable.bootstrapTable('refreshOptions', {pageNumber: 1});
    $('#filterContentNew').collapse('hide'); //收回高级筛选
}

//清空所有搜索条件
function clearAllData() {
    searchType = 'seniorSearch';
    //全部 本年 本月 本周
    $('.all').addClass('active-second');
    $('.all').siblings().removeClass('active-second');
    $("#dateType").val("all");

    //客户名称
    $('.filter-content input').val('');
    $('.filter-content select').val('').selectpicker('refresh');
    //加载全部账号信息
    loadAllAccounts();
    $trainingTable.bootstrapTable('refreshOptions', {pageNumber: 1});
}


/**
 * 搜索点击事件
 */
function searchTrainingList(type){
    $('.all').addClass('active-second');
    $('.all').siblings().removeClass('active-second');
    $("#dateType").val("all");
    if ('basicSearch' === type) {//普通条件查询
        searchType = "basicSearch";
        // 点击搜索重置表单并收起高级搜索 需传入高级搜索id #filterContent
        // $('#filterContent').collapse('hide').on('hidden.bs.collapse', function () {
        //     resetOrderQueryParams('#filterContent');
        // });
        //$("#filterContentNew").slideToggle();//收回高级筛选
    } else if ("seniorSearch" === type) {//高级搜索条件查询
        searchType = "seniorSearch";
        $('#customerName').val('');
    }
    $trainingTable.bootstrapTable('refreshOptions', {pageNumber: 1});
}

/**
 * distributionSure 分配
 * */
function distributionSure() {
    var userId = $('#salesman option:selected').val();//移交人
    if(!!userId){
        $.ajax({
            type: "post",
            url: "/training/distribute",
            data: {
                userId: userId,
                trainingId:trainingId
            },
            dataType: 'json',
            success: function (data, status) {
                if (data.data == 'I00001') {
                    $.alert('该用户客户容量已满,不能分配!');
                } else if (data.data == '000000') {
                    $.alert('分配成功!');
                    $trainingTable.bootstrapTable('refreshOptions', {pageNumber: 1});
                    $("#distributionModal").modal('hide');
                } else {
                    $.alert('分配失败，请稍后再试!');
                }
            },
            error: function () {
                $.alert('分配异常，请稍后再试!');
            }
        });

    }else{
        $.alert("请选择业务员")
    }


}